# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.1330+1.1305.9.6 -> 1.1331 # drivers/input/serio/i8042-io.h 1.4.1.1 -> 1.6 # include/asm-parisc/unistd.h 1.8.1.1 -> 1.10 # include/linux/timex.h 1.5.1.2 -> 1.10 # kernel/fork.c 1.123.1.1 -> 1.125 # kernel/sysctl.c 1.46 -> 1.47 # include/asm-ppc/unistd.h 1.23.1.1 -> 1.25 # kernel/time.c 1.11.1.4 -> 1.16 # kernel/posix-timers.c 1.19 -> 1.20 # include/linux/time.h 1.16 -> 1.17 # Makefile 1.410.1.1 -> 1.412 # arch/ppc64/kernel/sys_ppc32.c 1.64 -> 1.65 # include/asm-x86_64/pgtable.h 1.21 -> 1.22 # kernel/sched.c 1.193 -> 1.194 # kernel/timer.c 1.59 -> 1.60 # arch/parisc/kernel/module.c 1.5 -> 1.6 # diff -Nru a/Makefile b/Makefile --- a/Makefile Thu Jun 19 00:45:49 2003 +++ b/Makefile Thu Jun 19 00:45:49 2003 @@ -213,7 +213,7 @@ NOSTDINC_FLAGS = -nostdinc -iwithprefix include CPPFLAGS := -D__KERNEL__ -Iinclude -CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \ +CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -g -O2 \ -fno-strict-aliasing -fno-common AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS) diff -Nru a/arch/ppc64/kernel/sys_ppc32.c b/arch/ppc64/kernel/sys_ppc32.c --- a/arch/ppc64/kernel/sys_ppc32.c Thu Jun 19 00:45:49 2003 +++ b/arch/ppc64/kernel/sys_ppc32.c Thu Jun 19 00:45:49 2003 @@ -1835,7 +1835,7 @@ err = do_sys32_shmctl(first, second, (void *)AA(ptr)); break; default: - err = -ENOSYS; + err = -EINVAL; break; } return err; diff -Nru a/include/asm-parisc/unistd.h b/include/asm-parisc/unistd.h --- a/include/asm-parisc/unistd.h Thu Jun 19 00:45:49 2003 +++ b/include/asm-parisc/unistd.h Thu Jun 19 00:45:49 2003 @@ -910,6 +910,8 @@ #undef STR +#ifdef __KERNEL__ + /* * "Conditional" syscalls * @@ -918,4 +920,19 @@ */ #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); +/* + * System call handlers that, upon successful completion, need to return a negative value + * should call force_successful_syscall_return() right before returning. On architectures + * where the syscall convention provides for a separate error flag (e.g., alpha, ia64, + * ppc{,64}, sparc{,64}, possibly others), this macro can be used to ensure that the error + * flag will not get set. On architectures which do not support a separate error flag, + * the macro is a no-op and the spurious error condition needs to be filtered out by some + * other means (e.g., in user-level, by passing an extra argument to the syscall handler, + * or something along those lines). + * + * On PA-RISC, this is a no-op. + */ +#define force_successful_syscall_return() + +#endif /* __KERNEL__ */ #endif /* _ASM_PARISC_UNISTD_H_ */ diff -Nru a/kernel/fork.c b/kernel/fork.c --- a/kernel/fork.c Thu Jun 19 00:45:49 2003 +++ b/kernel/fork.c Thu Jun 19 00:45:49 2003 @@ -846,6 +846,7 @@ p->vfork_done = NULL; spin_lock_init(&p->alloc_lock); spin_lock_init(&p->switch_lock); + spin_lock_init(&p->proc_lock); clear_tsk_thread_flag(p, TIF_SIGPENDING); init_sigpending(&p->pending); diff -Nru a/kernel/sched.c b/kernel/sched.c --- a/kernel/sched.c Thu Jun 19 00:45:49 2003 +++ b/kernel/sched.c Thu Jun 19 00:45:49 2003 @@ -2182,10 +2182,7 @@ else printk(" (NOTLB)\n"); - { - extern void show_trace_task(task_t *tsk); - show_trace_task(p); - } + show_stack(p, NULL); } void show_state(void) diff -Nru a/kernel/sysctl.c b/kernel/sysctl.c --- a/kernel/sysctl.c Thu Jun 19 00:45:49 2003 +++ b/kernel/sysctl.c Thu Jun 19 00:45:49 2003 @@ -551,6 +551,16 @@ .mode = 0644, .proc_handler = &proc_dointvec, }, +#ifdef CONFIG_SMP + { + .ctl_name = KERN_CACHEDECAYTICKS, + .procname = "cache_decay_ticks", + .data = &cache_decay_ticks, + .maxlen = sizeof(cache_decay_ticks), + .mode = 0644, + .proc_handler = &proc_doulongvec_minmax, + }, +#endif { .ctl_name = 0 } };